package com.apps.globals.advent.service;

import com.apps.common.enums.ClientType;
import com.apps.globals.advent.model.po.KupaAdvent;
import com.apps.globals.advent.model.vo.KupaAdventVo;
import com.apps.globals.foot.model.po.KupaFooterColumn;
import com.apps.sworld.dao.sGod;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 大鹏
 * @since 2020-10-02
 */
public interface IKupaAdventService extends sGod<KupaAdvent>
{
    /**
     * 添加广告位
     * @param name
     * @param key
     * @param width_height_rate
     * @param clientType
     * @throws IOException
     */
    void addAdvent(String name, String key,  float width_height_rate,  ClientType clientType);

    /**
     * 获取某个广告位的广告,前端使用，没有广告位添加默认广告
     * @param id  广告位ID
     * @return
     */
    List<KupaAdventVo> getOneAdventById(int id);

    /**
     * 按key获取
     * @param key
     * @return
     */
    List<KupaAdventVo> getOneAdventByKey(String key);
    /**
     * 给某个广告位添加广告,如果是单张图广告位则无法添加,这个接口是开发用,开发完毕这个方法废弃
     * @param id   广告位id
     * @param img  图片地址
     * @param url  图片跳转链接
     */
    List<KupaAdventVo> addAdventItem(int id, String name, MultipartFile img, String url);

    /**
     * 删除某个广告位的某张广告
     * @param id  广告位id
     * @param index  广告在数组的位置
     */
    List<KupaAdventVo> delAdventItem(int id,int index);

    /**
     * 查询出广告位的所有广告数据
     * @param adventId
     * @return
     */
    List<KupaAdventVo> queryAdventItem(int adventId);
    /**
     * 修改某个广告位的某张广告
     * @param id  广告位id
     * @param index  广告在数组中的位置
     * @param img  图片地址
     * @param url  图片跳转链接
     */
    List<KupaAdventVo> updateAdventItemById(int id,int index, String name,MultipartFile img, String url) throws IOException;

    /**
     *
     * @return
     */
    Map<String, KupaAdventVo> QueryMap();
}
